Story6 UDP 프로토콜 송수신

수정 송신이 필요없는 데이터는 UDP가 효율적

TCP는 복잡하다.

데이터를 확실히 전달하려고 하기 때문이다. 확실히 전달하려면 누락된 데이터가 있을 경우 다시 보내기 때문에 복잡하다.

몇몇 상황에서는 TCP 구조가 필요하지 않다.

1 데이터가 한 패킷에 수용가능할 정도로 작은 경우

데이터를 다시 보낸다 해도 패킷 하나만 보내면 된다.

2 접속하거나 연결을 끊을 때

데이터를 보내면 회신이 수신응답을 대신할 수 있어서이다.

3 음성 및 동영상

음성과 영상은 재생하는 타이밍이 중요하다. 데이터 도착이 지연될 경우 음성이 끊기거나 영상이 멈춘다. 이때 오류를 검출해 다시 보내는 방법이라면 재생 타이밍이 맞지 않아 데이터가 도착해도 쓸모가 없다. 게다가 데이터가 없어도 치명적인 문제가 되진 않는다. 그냥 조금 끊길 뿐이다.

UDP

DNS 서버 조회 등 제어용으로 실행하는 정보 교환은 한 개의 패킷으로 끝나는 경우가 많아서 UDP를 사용한다.

송수신 제어 정보를 주고 받을 필요가 없고 윈도우가 없어서 연결 끊기 단계가 없다.

그냥 중간에 오류가 발생할 경우 다시 보내달라고 요청하면 그만이다.